Refer to _LIBCPP_MSVC macro where applicable Replace preprocess conditions of defined(_MSC_VER) && !defined(__clang__) with defined(_LIBCPP_MSVC). NFC. Patch by Dave Lee! git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294171 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/__config b/include/__config index a70f8f0..10de952 100644 --- a/include/__config +++ b/include/__config
@@ -929,7 +929,7 @@ # if defined(__GNUC__) && ((__GNUC__ >= 5) || (__GNUC__ == 4 && \ (__GNUC_MINOR__ >= 3 || __GNUC_PATCHLEVEL__ >= 2))) && !defined(__GXX_RTTI) # define _LIBCPP_NO_RTTI -# elif (defined(_MSC_VER) && !defined(__clang__)) && !defined(_CPPRTTI) +# elif defined(_LIBCPP_MSVC) && !defined(_CPPRTTI) # define _LIBCPP_NO_RTTI # endif #endif
diff --git a/include/__undef_min_max b/include/__undef_min_max index d3c3138..f4ca091 100644 --- a/include/__undef_min_max +++ b/include/__undef_min_max
@@ -10,7 +10,7 @@ #ifdef min #if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS) -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("macro min is incompatible with C++. Try #define NOMINMAX " "before any Windows header. #undefing min") #else @@ -22,7 +22,7 @@ #ifdef max #if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS) -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("macro max is incompatible with C++. Try #define NOMINMAX " "before any Windows header. #undefing max") #else diff --git a/include/ext/hash_map b/include/ext/hash_map index 8998bec..fab36a1 100644 --- a/include/ext/hash_map +++ b/include/ext/hash_map
@@ -207,7 +207,7 @@ #include <ext/__hash> #if __DEPRECATED -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map>") #else # warning Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> diff --git a/include/ext/hash_set b/include/ext/hash_set index 7c6a8bf..916ed69 100644 --- a/include/ext/hash_set +++ b/include/ext/hash_set
@@ -199,7 +199,7 @@ #include <ext/__hash> #if __DEPRECATED -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set>") #else # warning Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> diff --git a/src/exception.cpp b/src/exception.cpp index f25041d..35a3a9a 100644 --- a/src/exception.cpp +++ b/src/exception.cpp
@@ -138,7 +138,7 @@ #elif defined(_LIBCPP_ABI_MICROSOFT) return __uncaught_exceptions(); #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("uncaught_exceptions not yet implemented") # else # warning uncaught_exception not yet implemented @@ -211,7 +211,7 @@ #elif defined(__GLIBCXX__) reinterpret_cast<__exception_ptr::exception_ptr*>(this)->~exception_ptr(); #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("exception_ptr not yet implemented") # else # warning exception_ptr not yet implemented @@ -230,7 +230,7 @@ new (reinterpret_cast<void*>(this)) __exception_ptr::exception_ptr( reinterpret_cast<const __exception_ptr::exception_ptr&>(other)); #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("exception_ptr not yet implemented") # else # warning exception_ptr not yet implemented @@ -255,7 +255,7 @@ reinterpret_cast<const __exception_ptr::exception_ptr&>(other); return *this; #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("exception_ptr not yet implemented") # else # warning exception_ptr not yet implemented @@ -299,7 +299,7 @@ ptr.__ptr_ = __cxa_current_primary_exception(); return ptr; #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING( "exception_ptr not yet implemented" ) # else # warning exception_ptr not yet implemented @@ -321,7 +321,7 @@ #elif defined(__GLIBCXX__) rethrow_exception(reinterpret_cast<__exception_ptr::exception_ptr&>(p)); #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("exception_ptr not yet implemented") # else # warning exception_ptr not yet implemented diff --git a/src/include/atomic_support.h b/src/include/atomic_support.h index af0f5f5..378541b 100644 --- a/src/include/atomic_support.h +++ b/src/include/atomic_support.h
@@ -29,7 +29,7 @@ #endif #if !defined(_LIBCPP_HAS_ATOMIC_BUILTINS) && !defined(_LIBCPP_HAS_NO_THREADS) -# if defined(_MSC_VER) && !defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("Building libc++ without __atomic builtins is unsupported") # else # warning Building libc++ without __atomic builtins is unsupported diff --git a/src/thread.cpp b/src/thread.cpp index c471b5c..afa8e16 100644 --- a/src/thread.cpp +++ b/src/thread.cpp
@@ -99,7 +99,7 @@ #else // defined(CTL_HW) && defined(HW_NCPU) // TODO: grovel through /proc or check cpuid on x86 and similar // instructions on other architectures. -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("hardware_concurrency not yet implemented") # else # warning hardware_concurrency not yet implemented